home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-09-28 | 3.3 KB | 147 lines | [TEXT/CWIE] |
- //
- // This is sample code which will make QTVR object movies from Linear QuickTime movies.
- //
- // © 1991-1996 Apple Computer, Inc. All rights reserved.
- //
-
- #include "MakeQTVRObject.h"
- #include "extern.h"
-
- OSErr RetrievePrefs()
- {
- OSErr err = noErr;
- ConstStr255Param fileName = "\pMakeQTVRObject Prefs";
- short refNum;
- Handle myData;
- long myEOF;
- short globalRef;
-
- // Find the prefs folder
- err = FindFolder(
- kOnSystemDisk,
- kPreferencesFolderType,
- true,
- &gPrefSpec.vRefNum,
- &gPrefSpec.parID);
-
- if (err != noErr)
- {
- UserMessage("\pCan't find Preferences folder.");
- return 6;
- }
-
- PLstrcpy(gPrefSpec.name, fileName);
- err = FSpOpenDF (&gPrefSpec, fsRdWrPerm, &refNum);
- if(err)
- {
- //fill in default prefs and save to disk
- gPrefInf.dropMode = false;
- StuffQTVRObjectFileFormat1x0 (kStandardObject,
- 60,
- 36,
- 1,
- 1,
- 0,
- 0,
- Long2Fix(360),
- 0,
- 0,
- Long2Fix(180),
- 0,
- 0,
- &gPrefInf.objectInfo);
-
- SavePrefs();
- }
- else
- {
- //Get the prefs out of the file
- FSClose(refNum);
- err = FSpOpenDF (&gPrefSpec, fsRdWrPerm, &globalRef);
- if (err != noErr)
- {
- UserMessage("\pCan't open Preferences file.");
- return 1;
- }
- err = GetEOF(globalRef,&myEOF);
- if (err != noErr)
- {
- UserMessage("\pCan't open Preferences file.");
- return 1;
- }
- err = SetFPos(globalRef,fsFromStart,0);
- if (err != noErr)
- {
- UserMessage("\pCan't open Preferences file.");
- return 1;
- }
- myData = NewHandle(myEOF);
- HLock((Handle)myData);
- err = FSRead(globalRef,&(myEOF),(Ptr)*myData);
- if (err != noErr)
- {
- UserMessage("\pCan't open Preferences file.");
- return 1;
- }
- FSClose(globalRef);
- gPrefInf = **((PrefInfo**)myData);
- HUnlock(myData);
- DisposeHandle(myData);
-
-
- if ((gPrefInf.objectInfo.numberOfColumns <= 0)
- || (gPrefInf.objectInfo.numberOfRows <= 0)
- || (gPrefInf.objectInfo.fieldOfView <= 0)
- || (gPrefInf.objectInfo.startHPan > gPrefInf.objectInfo.endHPan)
- || (gPrefInf.objectInfo.startVPan < gPrefInf.objectInfo.endVPan)
- || (gPrefInf.objectInfo.initialHPan < gPrefInf.objectInfo.startHPan)
- || (gPrefInf.objectInfo.initialHPan > gPrefInf.objectInfo.endHPan)
- || (gPrefInf.objectInfo.initialVPan > gPrefInf.objectInfo.startVPan)
- || (gPrefInf.objectInfo.initialVPan < gPrefInf.objectInfo.endVPan)
- || (gPrefInf.objectInfo.loopSize <= 0))
- {
- UserMessage("\pPrefs file is corrupted. Please delete it and retry.");
- return (1);
- }
- }
- return 0;
- }
-
- OSErr SavePrefs()
- {
- long bytes;
- OSErr err;
- short fRefNum;
- Handle data;
-
- FSpDelete (&gPrefSpec);
- err = FSpCreate (&gPrefSpec, kAppCreator, 'pref', smSystemScript);
- if (err != noErr)
- {
- UserMessage("\pCan't create Preferences file.");
- return 1;
- }
- err = FSpOpenDF (&gPrefSpec, fsRdWrPerm, &fRefNum);
- if (err != noErr)
- {
- UserMessage("\pCan't create Preferences file.");
- return 1;
- }
- bytes = sizeof(PrefInfo);
- data = NewHandle(bytes);
- HLock((Handle)data);
- **((PrefInfo**)data) = gPrefInf;
- err = FSWrite(fRefNum,&bytes,(Ptr)(*data));
- if (err != noErr)
- {
- UserMessage("\pCan't create Preferences file.");
- return 1;
- }
- HUnlock((Handle)data);
- FSClose(fRefNum);
- FlushVol(gPrefSpec.name,gPrefSpec.vRefNum);
- DisposeHandle(data);
- return 0;
- }
-
-